package com.smsc.headend.connector.service.asset;


import com.smsc.headend.module.asset.dmo.DLMSConfigDMO;
import com.smsc.headend.module.asset.dmo.MeterConfigDMO;
import com.smsc.headend.module.asset.entity.ComEntity;
import com.smsc.headend.module.asset.entity.Dcu;
import com.smsc.headend.module.asset.entity.Meter;
import com.smsc.headend.module.asset.entity.PlcMeterStatus;
import com.smsc.headend.module.data.dto.ClearLocalCacheDto;

public interface AssetService {
    String getSystemProperty(String key);
    Meter getMeterById(Long meterId);

    String getDeviceCustomerNo(Long deviceId, Long deviceType);

    String getDeviceMfgSn(Long deviceId, Long deviceType);

    void clearMeterCacheById(Long meterId);

    void clearComEntityCacheById(ClearLocalCacheDto comId);

    PlcMeterStatus getPlcMeterStatus(Long meterId);
    void clearPlcMeterStatus(Long meterId);

    Dcu getDcuById(Long ducId);
    void clearDcuCacheById(Long ducId);

    void loadAssetToCache(ComEntity terminal);

    MeterConfigDMO getMeterConfig(Long meterId);

    DLMSConfigDMO getComConfigById(Long comId);
}
